int str_match(const char* str, const char* match);
void rtrim(char* s);
-char* lrtrim(char* buff);
int xasprintf(char** strp, const char* fmt, ...) PRINTFLIKE(2, 3);
int xasprintf(QString* strp, const char* fmt, ...) PRINTFLIKE(2, 3);
int xasprintf(QScopedPointer<char, QScopedPointerPodDeleter>& strp, const char* fmt, ...) PRINTFLIKE(2, 3);
}
}
-/*
- * Like trim, but trims whitespace from both beginning and end.
- */
-char*
-lrtrim(char* buff)
-{
- if (buff[0] == '\0') {
- return buff;
- }
-
- char* c = buff + strlen(buff);
- while ((c >= buff) && ((unsigned char)*c <= ' ')) {
- *c-- = '\0';
- }
-
- c = buff;
- while ((*c != '\0') && ((unsigned char)*c <= ' ')) {
- c++;
- }
-
- if (c != buff) {
- char* src = c;
- char* dst = buff;
-
- while (*src) {
- *dst++ = *src++;
- }
- *dst = '\0';
- }
-
- return buff;
-}
-
/*
* compare str with match
* match may contain wildcards "*" and "?"